"""AI对话系统应用入口：初始化FastAPI，注册所有路由"""
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from api.chat import chat_router
from api.session import session_router

# 初始化FastAPI应用
app = FastAPI(
    title="AI Chat System API",  # API文档标题
    description="AI对话系统后端API（支持流式对话、会话管理、历史记录）",
    version="1.0.0"
)

# 解决跨域问题（允许Node.js前端调用）
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],  # 开发环境用*，生产环境替换为前端域名（如http://localhost:8080）
    allow_credentials=True,
    allow_methods=["*"],  # 允许所有HTTP方法
    allow_headers=["*"],  # 允许所有HTTP头
)

# 注册所有路由
app.include_router(chat_router)  # 对话核心路由（/chat）
app.include_router(session_router)  # 会话管理路由（/chat/sessions）

# 根路径（健康检查/欢迎页）
@app.get("/")
async def root():
    return {
        "message": "Welcome to AI Chat System API",
        "docs_url": "/docs",  # Swagger文档地址（调试用）
        "redoc_url": "/redoc"  # ReDoc文档地址
    }

if __name__ == "__main__":
    """应用启动入口（本地开发用）"""
    import uvicorn
    from config.settings import settings

    # 启动UVicorn服务（0.0.0.0允许外部访问，方便前端调试）
    uvicorn.run(
        app="main:app",
        host="192.168.101.11",
        port=8000,
        reload=True  # 开发模式：代码修改自动重启（生产环境关闭）
    )